package com.wgo.bpot.wiring;

import com.wgo.bpot.common.transport.servicefacade.RemoteServices;
import com.wgo.bpot.server.configuration.UserRoleRegistry;
import com.wgo.bpot.server.persist.PersistService;
import com.wgo.bpot.server.persist.trigger.TriggerRegistry;
import com.wgo.bpot.wiring.common.DomainModelConvention;

/**
 * @version $Id: ServiceAccessor.java 540 2008-01-09 19:42:31Z petter.eide $
 * @param <T>
 * @param <PS>
 */
public interface ServiceAccessor<T, PS extends PersistService<T>> {
	
	public ServicesFactory getServicesFactory();
	public PS getPersistService();
	public TriggerRegistry getTriggerRegistry();
	public DomainModelConvention<T> getDomainModelConvention();
	public InitializationService getInitializationService();
	public RemoteServices getRemoteServices();
    public UserRoleRegistry getUserRoleRegistry();

}
